<?php

$id = get_request("id");

$em->getConnection()->beginTransaction();

$os = $em->find("Entities\OrdemServico", $id);

$itens = $os->getItens();

foreach ($itens as $item) {
	
		$qtd = $item->getQuantidade();
		$qtdEstoque = $item->getProduto()->getQtdEstoque();
		$produto = $item->getProduto();
		$qtdNova = $qtd + $qtdEstoque;
		
		$produto->setQtdEstoque($qtdNova);
		
		
		$estoqueItem = $item->getEstoque();
		$estoqueItem = $em->find("Entities\Estoque", $estoqueItem->getId());
		
		$item->setEstoque(null);
		$em->persist($item);
		
		
		$estoqueItem->setItemOsReferencia(null);
		$em->persist($estoqueItem);
		
		$em->remove($estoqueItem);
		$em->remove($item);
		
		$em->persist($produto);
}

$em->remove($os);
$erro = "0";
try {
	$em->flush();
	$em->getConnection()->commit();
} catch (Exception $e) {
	$em->getConnection()->rollback();
	$erro = $e->getMessage();
}

echo "<erro>$erro</erro>";
